<!DOCTYPE html>
<meta charset="utf-8">
<title>Upload files in x-user-defined form</title>
<link rel="help"
      href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart-form-data">
<link rel="help"
      href="https://html.spec.whatwg.org/multipage/dnd.html#datatransferitemlist">
<link rel="help"
      href="https://w3c.github.io/FileAPI/#file-constructor">
<link rel="author" title="Benjamin C. Wiley Sittler"
      href="mailto:bsittler@chromium.org">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../support/send-file-form-helper.js"></script>
<script>
'use strict';

formPostFileUploadTest({
  fileNameSource: 'ASCII',
  fileBaseName: 'file-for-upload-in-form.txt',
  formEncoding: 'x-user-defined',
  expectedEncodedBaseName: 'file-for-upload-in-form.txt',
});

formPostFileUploadTest({
  fileNameSource: 'x-user-defined',
  fileBaseName: 'file-for-upload-in-form-\uF7F0\uF793\uF783\uF7A0.txt',
  formEncoding: 'x-user-defined',
  expectedEncodedBaseName: 'file-for-upload-in-form-\xF0\x93\x83\xA0.txt',
});

formPostFileUploadTest({
  fileNameSource: 'windows-1252',
  fileBaseName: 'file-for-upload-in-form-â˜ºðŸ˜‚.txt',
  formEncoding: 'x-user-defined',
  expectedEncodedBaseName: ('file-for-upload-in-form-' +
                            '&#226;&#732;&#186;&#240;&#376;&#732;&#8218;.txt'),
});

formPostFileUploadTest({
  fileNameSource: 'JIS X 0201 and JIS X 0208',
  fileBaseName: 'file-for-upload-in-form-★星★.txt',
  formEncoding: 'x-user-defined',
  expectedEncodedBaseName: 'file-for-upload-in-form-&#9733;&#26143;&#9733;.txt',
});

formPostFileUploadTest({
  fileNameSource: 'Unicode',
  fileBaseName: 'file-for-upload-in-form-☺😂.txt',
  formEncoding: 'x-user-defined',
  expectedEncodedBaseName: 'file-for-upload-in-form-&#9786;&#128514;.txt',
});

formPostFileUploadTest({
  fileNameSource: 'Unicode',
  fileBaseName: `file-for-upload-in-form-${kTestChars}.txt`,
  formEncoding: 'x-user-defined',
  expectedEncodedBaseName: `file-for-upload-in-form-${
      kTestFallbackXUserDefined
  }.txt`,
});

</script>
